{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 机器学习算法基础"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "from visualization import plot_pic\n",
    "import warnings; warnings.simplefilter('ignore') #忽略可能会出现的警告信息，警告并不是错误，可以忽略；"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1.数据集生成及特征工程处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 生成测试数据集\n",
    "from produce_data import produce_data\n",
    "data = produce_data()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>practice</th>\n",
       "      <th>time_period</th>\n",
       "      <th>error</th>\n",
       "      <th>label</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>0.548814</td>\n",
       "      <td>0.592880</td>\n",
       "      <td>0.811518</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>0.715189</td>\n",
       "      <td>0.010064</td>\n",
       "      <td>0.476084</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>0.602763</td>\n",
       "      <td>0.475826</td>\n",
       "      <td>0.523156</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>0.544883</td>\n",
       "      <td>0.708770</td>\n",
       "      <td>0.250521</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>0.423655</td>\n",
       "      <td>0.043975</td>\n",
       "      <td>0.605043</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   practice  time_period     error  label\n",
       "0  0.548814     0.592880  0.811518    1.0\n",
       "1  0.715189     0.010064  0.476084    0.0\n",
       "2  0.602763     0.475826  0.523156    1.0\n",
       "3  0.544883     0.708770  0.250521    1.0\n",
       "4  0.423655     0.043975  0.605043    0.0"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 准备训练集，测试集数据, 核心掌握；\n",
    "from sklearn.model_selection import train_test_split\n",
    "features_train, features_test, label_train, label_test = \\\n",
    "train_test_split(data[['practice', 'time_period']], data['label'], test_size=0.25, random_state = 52)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>practice</th>\n",
       "      <th>time_period</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>86</td>\n",
       "      <td>0.523248</td>\n",
       "      <td>0.042906</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>151</td>\n",
       "      <td>0.868126</td>\n",
       "      <td>0.633987</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>525</td>\n",
       "      <td>0.372679</td>\n",
       "      <td>0.908248</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>779</td>\n",
       "      <td>0.844235</td>\n",
       "      <td>0.844470</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>668</td>\n",
       "      <td>0.713767</td>\n",
       "      <td>0.092851</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     practice  time_period\n",
       "86   0.523248     0.042906\n",
       "151  0.868126     0.633987\n",
       "525  0.372679     0.908248\n",
       "779  0.844235     0.844470\n",
       "668  0.713767     0.092851"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "features_train.tail()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "750"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(features_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "86     0.0\n",
       "151    1.0\n",
       "525    1.0\n",
       "779    1.0\n",
       "668    0.0\n",
       "Name: label, dtype: float64"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "label_train.tail()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>practice</th>\n",
       "      <th>time_period</th>\n",
       "      <th>label</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>771</td>\n",
       "      <td>0.244889</td>\n",
       "      <td>0.528742</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>125</td>\n",
       "      <td>0.606393</td>\n",
       "      <td>0.997994</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>837</td>\n",
       "      <td>0.049349</td>\n",
       "      <td>0.430181</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>53</td>\n",
       "      <td>0.102045</td>\n",
       "      <td>0.256114</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>394</td>\n",
       "      <td>0.033305</td>\n",
       "      <td>0.965734</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     practice  time_period  label\n",
       "771  0.244889     0.528742    0.0\n",
       "125  0.606393     0.997994    1.0\n",
       "837  0.049349     0.430181    0.0\n",
       "53   0.102045     0.256114    0.0\n",
       "394  0.033305     0.965734    1.0"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#把训练集的属性和标签合并在一起；也可以用merge合并；train_data是用于后续的可视化；\n",
    "train_data = features_train.copy()     #通过.copy(), train_data和features_train就不会相互影响了；\n",
    "train_data['label'] = label_train\n",
    "train_data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "#为了画图做准备，把训练集中标签是fail和pass的给分开筛选出来；\n",
    "practice_fail = train_data[train_data['label']==0]['practice']\n",
    "time_period_fail = train_data[train_data['label']==0]['time_period']\n",
    "\n",
    "practice_pass = train_data[train_data['label']==1]['practice']\n",
    "time_period_pass = train_data[train_data['label']==1]['time_period']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x125d20c50>"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#### 数据集图形可视化\n",
    "plt.figure(figsize = (8,6))\n",
    "plt.xlim(-0.1, 1.1)\n",
    "plt.ylim(-0.1, 1.1)\n",
    "plt.scatter(practice_fail, time_period_fail, color = 'b', label='fail')\n",
    "plt.scatter(practice_pass, time_period_pass, color = 'r', label='pass')\n",
    "plt.xlabel('practice')\n",
    "plt.ylabel('time_period')\n",
    "plt.legend(loc='upper right')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2. 逻辑回归算法实现"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.linear_model import LogisticRegression    #从sklearn中引入逻辑回归算法；必背；\n",
    "\n",
    "clf_LR = LogisticRegression()     #定义了逻辑回归的分类器，clf_LR，初始化模型；\n",
    "clf_LR.fit(features_train,label_train)     #机器学习的核心语句，必背；fit就是训练和学习的过程；\n",
    "pred_LR = clf_LR.predict(features_test)     #机器学习的核心语句，必背；predict预测测试集的标签；返回的是预测的测试集的label\n",
    "\n",
    "#测试集的分类效果可视化；传入已经学习好的分类器和测试集的特征，去预测测试集的标签，并且把分类结果可视化；\n",
    "plot_pic(clf_LR, features_test, label_test)    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.972"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.metrics import accuracy_score\n",
    "acc = accuracy_score(pred_LR, label_test)     #拿预测的测试集的label去跟真实的测试集的label去比较、打分\n",
    "acc"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3. SVM支持向量机算法实现"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.svm import SVC  #SVM下的分类问题；还有SVR；\n",
    "\n",
    "clf_SVC = SVC()                               #默认的核函数就是rbf；\n",
    "clf_SVC.fit(features_train,label_train)       #训练；\n",
    "pred_SVC = clf_SVC.predict(features_test)     #返回是测试集的预测的label；\n",
    "\n",
    "plot_pic(clf_SVC, features_test, label_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.96"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.metrics import accuracy_score\n",
    "acc = accuracy_score(pred_SVC, label_test)    #拿预测的测试集的label去跟真实的测试集的label去比较、打分\n",
    "acc"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.svm import SVC\n",
    "\n",
    "clf_SVC2 = SVC(kernel = 'rbf')      #跟默认一样\n",
    "clf_SVC2.fit(features_train,label_train)\n",
    "pred_SVC2 = clf_SVC2.predict(features_test)\n",
    "\n",
    "plot_pic(clf_SVC2, features_test, label_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.96"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.metrics import accuracy_score\n",
    "acc = accuracy_score(pred_SVC2, label_test)\n",
    "acc"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.svm import SVC\n",
    "\n",
    "clf_SVC2 = SVC(kernel = 'rbf',gamma = 1000 )     #gamma可以自己经验去定义；是用于控制SVM中数据点的距离大小的影响程度。 \n",
    "clf_SVC2.fit(features_train,label_train)        #如果gamma越大，距离decision boundery距离越近的点权重越大，db受到点的影响越大\n",
    "pred_SVC2 = clf_SVC2.predict(features_test)     #从而db更趋向于不规则的线； cross validation的思想来帮助我们参数寻优\n",
    "\n",
    "plot_pic(clf_SVC2, features_test, label_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.94"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.metrics import accuracy_score\n",
    "acc = accuracy_score(pred_SVC2, label_test)\n",
    "acc"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEGCAYAAABo25JHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO2de5gcVZnwf+/MpBMSyI3hkmQgIVx20SwMyg64LN8aLrvZ3TGsCoiBFRYQP0k0K8J6iy6SCLIgGAmLYkRQRARcNTsfBlRAMWsYwsegAfQTQxImE8QhIfcwmfT7/dHdSU9PVXdVdV1OVZ/f88yTTE111alTp8973usRVcVisVgsjUtT0g2wWCwWS7JYQWCxWCwNjhUEFovF0uBYQWCxWCwNjhUEFovF0uC0JN2AILSMOFBzuYOTbkYgxg3uYNLAJprYH62VR9iYm8iWljEJtswSNcfu2sAI3Tvs+B5p5vcHTNn3e1xjJK1j0Ws/hsG4wR0cuucNRuhe9kgzr40Yv69v0th/u3au71fVQyqPp1IQ5HIH8+czPpF0MwLR1bOAyVSG7Cp95OlM6TNZvDGrv5vPrr2PA/J79h3b1TSChdPmsLy1Y9+xuMZIWsfiqu65jqaMvO7l5BDbve99lYSO7mXX4FYWtnWyvLUjlf33bPfcdU7HrWkoZg4f2OzruCU7LG/tYOG0OfTlJpAH+nIThgkBiG+MpHUsvpqb4Ot4UOb1LhsitAEOyO9hXu8yIL3950QqNYI082puApMdBkrYg9hiJstbO4ZN/JW4jZGdkqOrZwGHD2zm1dwElrTNrnqtWf3dzOtd5np+WsfikrbZjprVkrbZod6n1kSfZP/Verd+SaVG8Jad6+nqWcCs/u6km+KbJW2zGajo9gGaQh/ElvSypG02A9I87PgYHWDywGaagMkDm/ns2vtcvwMls0a185e0zWZX04ghn4tiQg0br5pVvdTSPJLqPy/v1i+SxhITJ4voKpztq6Yzq7+ba1++l1yZs2tAmrn2qItS9RyWaPnZM9cwYe/Omuf15SbQ2b5o2PGungWOq9XK88NeWZrOQQe2cOnFx9I2ZTQiUvXcUfk3GT+4g8qz8ghbWkazu2kko/JvMnZwF03kydPE1pYD2N00MroHAA4deINm8sOO76WJ13LjUVV6N+zkrnt+z7btg0POebZ77jOqenLlZ1NtGirZ69I0cOf1LhsiBAByujd1z2GJlnEehAD4t1NXHvdiqsoSl158LCeccCS53IE1BQHA2MEdHP7mZprJDxEIeYS+kRPZWhYd1ASMD7/Jwzh+x/phwglAgaYxR6KqTDx4O5deDItvf9HTNVMtCCAdjpnyVZfb0EvDc5RotFVkErjZnyvJ08Ss/u5h/Z9W+381whh3bVNGexYCAFtbxnDowBu0VBhOmlCmvPk6hw68wWu58UMEQtTskeZhi8nScQARIZc7kLYpoz1fM5U+gnLqHdiz+rvp6lnAqu65kfgdKu15bsMvLV/QKOyTluE42Z+djLgt5B37P632fzfCGnci4lkIlHDKWYDCdzmne5n85ibGDu7wdc16eC03vkI/KWgor+X26yN+nzPVgqDegR3HpOYUglZJmr6gtULqLOHg5BB94JDTGXT4yjr1f1wO1bhIctztcXDcl9OEcujAG5G3o8TWljH0jZzIgDSjFHyMlWYqv6TWNNQXgkmi2uAK6wvjZvLR4k/aTCtZip02HSf7/Xl/etLxXKf+z5L9P8lx91puPJPfHJpBXImb1uDEvd/+Ot/73j0cf/xf8B833THs76tX97DsRw/w6c9czw9+cD/PP/8cCxbcMOScrS1jQjVHpVIQvDD6yFAy9+IYXG622o0u0R6mk0Xbc5po1P5P8rlLE+6hA4VSE04Gl1paQzn33383X/3afbS1TXX8+4wZ7cyY0R6kqYFJtWmoXqLIUKz0OTw5bkambLVZsz2njTD6P2q/WBQkNe66ukZy1pkHc+SJ05j2rhNY8tMja9rnq/H5a6/hlVfWMW/uB1i69DYunPOPvPc9Z3LhnH/k5ZdfAqC7ewVXfvjC0J+lGqnUCMIi7AzFyloykwc2M/v1lSw7+FRO37I6E1E2pXbbqKFkqLf/ncboZ9feN+TaJpLEuOvqGsm/f24su3cXJv6NG5v5t88X6rV96OwN+wvR+Yga+vdrb+KXv3ycb979X4wYkeOSSz5MS0sLv/qfn/PlL1/P4sV3RfY81WhoQRDGl6r8swfkBxx9DqdvWZ1KM5AbWbI9O2F6eGw9/R+HXywq4h53X771wH1CoMTu3cINXzmYM8+p//rbtm3l05/6COvWrUFEGBwcrP2hiGhoQQDBB5fTysrNlRSHQ8v0ySstpHXF7BXr7PfOq686W87djvvltttupKPjNL5y291s2LCeSy5+TyjXDUJD+wjqwWlllVSOgI3tD4+sh8fGVbkzjX6ISg4/fHgZh2rH/bJ921YOPWwSAD/8wfdCuWZQrCAISLWw0HLicGhlffLySz2TUNwr5rgnzDicrllZmPzrx7YzatTQb/SoUcq/fmx7KNe/9LK5fPnWL3DhhZ3szXsPP42ChjcNBcUtnO2N5tHsah4Zq4nGqvv7qde0E2eYYhJmqDicrmn2Q5TT2fkmsJUv33ogr77axOGH5/nXj20vHg/OT366CoAJEw7m4R//at/xj370kwB0dJxGR8dpALz73Rfw7ndfUNf9vGAFQUDcIo5umnpe7IO9UWPLnah3Eoqr1n0YbfVDnD6kLC1MOjvfrHviTwOZEAT1DvIgnzcpjDLOyct06p2E4nyvcU2YcWsedmGSPlIvCOod5PV83pQwyqCTV9KRRlHc320SytPEqu65nu4Tx3ud1d9NniaaHOrKx7nlYhTPaRcm6SP1gqDeQZ4Ve6bfySvpMMmo7u80CSmFKp1h3qceSs/e4iAEkthyMWxM0pYt3ki9IKh3kGfJngneV9lxCUC39kR1/8pJKE/TsAk3aUHvVpF2kKbItlyM21QTl1bViMJm7OCOfXWP/GY2u5F6QVDvIM+SPdPPKjsOAVitPVHev3wSWtU9N7L7BMXt3k3kranGI0lrtEkxdnDHkEqopf0QgLqEQSrzCA7f+Ueu7l7M1d2L646LzlIRNT/5BHEkFlVrT1yJTXHdxw9xtympvQmizJFo1NyZQwfeGFYOO4z9EFIpCMqpd5BnaQMPP6vsOARgtfbEJYBNFPRJtGl5awed7Ys4ueN2OtsXxSIEokwqy5pJ1ytu+x742Q/BidSbhq7uXgzAExzCzR3BCrtFZc+M24bpx8wVh0OvWnviciia6Lg0sU1hE7UPKi6T7tiu73Pordcz4tUN7Dl8Cq997NNs7XxvXdfcsGE9H7ri/fzFCW/jty/+hqnTjuaGG27jm9+8gyeeeJQ3d++i/aS/5Nprb0ZEihvZfIuWlmZOnHoED1z/BX7+zDPM/9KXgMK2lD/9+jegDjdB6gVBVISRmxC3DdOvLThqh16t9oR5/2rvy5Qw33JMbFOYRL1ij8PvMbbr+0z+3Mdp2r0LgNzGXiZ/7uMAdQuDl19+iesW3srb3tbBgs/M5/7v3s2cOZdy5ZWF63/yE3N54olHmTnz71i69DYe/cnT5HIj0U0byTPIzffey+2f+ASnnXgiW3fuYtNBh9XVnkwJgpJ2UOLmjvmBrhPGJJ5EWKppK8242tOojkOTiXrFHsfYOvTW6/cJgRJNu3dx6K3X1y0IDj98Cm97W6Gtne86l+/cu5QpbUdy1zeWsHv3LrZseYOjj/kzZs78O477s7fwb/92JWee8feccebf0zcSTm0/iatuvZX3/f0/cPrf/hNjDhlXV3syJQjCIoxJPCkbpmkrzTjak5VckCwRx4o96rE14tUNvo77QUSG/b5o4Sf43gOPMmnSFG5fchMDbxZKW9xxx3dYtepXPP74I3z1q7fwo2W/4N1XLuCtZ72HX/ziZ7zrn89l6TceZPr0YwO3J/XO4igIYxI3MVolrdSKPmlUx6HJZCEIY8/hU3wd98PGjb309DwNwMMP/4C3ve0UACZMmMiOHTt49NH/BiCfz/Pqqxs45ZS/5uMf/xzbtm1h584drF+/luOOewuXX/4R3vrWE3l5ze/rak+mNYJyU5EfM1EYam0WY7eTwIvZJ0u5IFnCNO3UL6997NNDfAQA+VEH8NrHPl33tadPP44f/fABPn/tNRw5dTrvu+Bitmx9g386551MmXIEM2acBMDevXv5xCfmsn3bVlSVf/7Ahxg7dhy3feWLdHevoKm5maOPPo7T/9eZdbUn04IgKGFM4qbZ65OiXqe7F7NPowjdRs2kTYqSHyDsqCGApibh36+9acix+fM/xfz5nxp27r33/vewY59ZcEPdbSinYQSBH+0grEk87SuiegnDievF7NMIQtc0h3ijCKWtne8NZeI3nYYRBH5p9Ek8DMJw4no1+yT1vuKaEE1yiJsmlNLGlClH8qNlv0i6GUNoSEEQVpippTphOHHjNvv4mdjjnBBNcoibJJT8oqqo6rConaxRek6v2KghS2SEETkVZ/SJ37IIcda7MSEKrRS9NckgoeSX3g07GRjY7muSTBuqysDAdno37PT8mYbUCCoJGl1kqU5Yq/m4zD5+V7pxrtKTdohXaj9OpCFK6657fs+lF0PblNGZ1QpUld4NO7nrHu8hpZELAhGZBSwGmoGlqvrFir8fCdwDjC+e80lVfTjqdlmiJ21OXL8Te5xhq1H0pR8zmNseCiWiEEpR+F+2bR9k8e0vhtTC7BCpIBCRZuB24GygF3haRJap6gtlpy0AHlDVO0TkLcDDwLQo21UN6z8IlzQ53f1O7HGv0sOuzeTHv+EmDBXYGIGAtw7peInaR9ABvKSqa1R1ALgfOKfiHAXGFv8/DuiLuE0WiyN+y0OnOXvWr3/DTRhuzE2IpKx1o+43kBRRm4amAK+U/d4LnFJxzrXAoyLyEQqFVM9yupCIXAFcAdBqXRu+aJSY73oJYn5Jk8ZTjl8zWNzaj0lRUo1A1DOqkzem0l3/fuBuVf2SiLwD+LaIzFDVIRvNquqdwJ0A02VUdl3+IWNVbH+kcWIPIuj9msHi9vfYsiHxErUg6AWOKPu9jeGmn8uAWQCq+isRGQW0Aq9F3LaGIM0x35baBBX0QVb4cQrJpKOkGo2oBcHTwLEichSwAbgAmFNxznrgTOBuETkeGAX8KeJ2eSbtoaVWxc42boL+mvUP1TRplT5vosnQ9PZlzdwaqSBQ1UERmQc8QiE09C5VfV5ErgNWqeoy4OPA10XkYxTMRpdolrM9YsZNxc7TxKz+7lQPXsjeF9IvbgJ9/OCOmu/XdDOYqe0zxdwa5tiXNM6502WULmJqom1Ii3ZQLRFoV9OI1ES5OOH0bGE9U1oETFfPAkdBD4Uops72YPt4W9xx6/M4+zvo2H+2e+4zqnpy5XFbYiLjlEIcBx1eddrD8aIKMaxVaqLWRjlxsqRt9rDoixLW/BcNJphbwx77Ng4zIF4Tzzb1H0Nf76nsGTiIEbltTG5bycTWl+Jo4j6Wt3awaM09jn9L82QR1Rey1pfMBLNAieWtHVyz7kEm7B1eV8ZG2ESDCRFNYY99qxFEyKb+Y1i/diZ7BsYCwp6BsaxfO5NN/cfE3hYTipaFzZbm0Y7H632mal8yExOdbpp6nq9EOEt9+E08jAK/3+eSFvt2eLvT361GEBJO0UV9vaei+aEDRvMj6Os9NVStwIs9O2vheLP6uxmTf3PY8QGa6n6mais+E8wClZgeYZM1kuzv8u96nqErebfvs5eCgVYQRMiegYN8HQ+C1wiGrE0W83qXkdO9w47vaDmg7meqJjTn9S5L3CzghKkRNlklif52mtDzFLJ2q9V7qlUwEKwgiJQRuW1Fs9Dw42HhJ2EsS5OF2wp83OCOuq9dS2hmSbOypAen73oTtaOVvGirVhBEQMlMtII/cEfTF4eYh6RpD5PbVoZ2LxNNFXEQtcPOTWhmTbOypIeg33W370o51lkcIafRxZHTHmdEbiugjMht5chpj4fqH8iiE9gLSTrslrd20Nm+iJM7bo+k8qbF4kTQ77rTd6USqxFEzPVrPrL/lwG4uTXcRLSsOYG9YlfmFr+kJUnQjaDf9fLvCi6agc0sjplqGclBB2raB7jFEjVRZaHH/d2r935umcVWECRIuVCIslyCxdLoRFEWIo3fWTdBYE1DhhC0XLTVBrKDfZfREUVQRZZKvDeUIFhBJw9wFf1MopWNnM8tnEZXYu0pT0KbhP+BakoVxDAxZTJMQuXP2rs0iSiizKKM2It7/DVM1NAKOlnKIvqZAjTRzxSWsogVdCbdNAB2usjkagO1nnIHm/qPYXXPRTzb/WFW91yUSNmLSmoVe8tyO0wsXZEloogyiypiL8rx1woTnY43jCB4gKsY4IAhxwY4gAe4KqEWDaWHVgYrdvasNVCDrkhMqoFUjimTYRLtaNR8kDgora5H5vcwSBNKwTdQry0/qhDmKMff5MI+8sNoGEHQzyRfx+NmHWN5isPYQYvngRp0RVKtBlKSmDIZJtGORs0HiZrK1XULeXYXJ+t6TS2lEu99uQnkCUe4QLTjbwTknI43jI+glY1Fs9Dw46awjrGso1CS4ub22vkGQeOK46iBFAQTyvsCbGkZwwSHUhVRtqNR80GiJmqHbhRlW6L8HuyBAafjDSMIzucWlrJoiHkoxy7O55YEW+WOl72SgyZVxVEDyQuVDrEnx81g9usrE50MZ/V3M2Zw17DjA9IcaTtsglw0mKBl+nX8Rrko6CvsHT+MhhEEpeggk6KGwiDIimRy20rWr50ZaQ2kWjhFycx+fSXLDj6V07esTmwynNe7jBz5Ycd3NI2MvB1ZKgpoCklrmUGiwaJcFPTDJqfjDSMIoCAM0jjxe90NzSulWkdJ7pzmprKfvmV1ovvsulY1ddgBzGI+SZvcgpqm4l4UNJQgiBvT8hbKmdj6UuxbZpZjgsruRNIrSEu4JG1yM3WcV2IFQUSU8hZKPolS3gJQtzDw4j8wHVMn3KRXkFnClOTAJE1upo7zSqwgiIhqeQumaAVJYuqEG9YK0pRJMG5Kzz1pYDPK/vj0Rs2UNnWcV5IpQWCSKSauvIWw/QdxkbTKXo16V5CNWi6i8rml4u9prcNTDyaP83IyIwiiNMUEIe68halspZ1+Luiea+xgqySrUTJJFCMzQQPxsjeuabbxOEjDOM+MIDDNFBNn3sJUtnIKfyzmJBdWoNet+da+vyc9QTQacTsITdFAvDyfSbZxE4SnKWRGEJhWQiLOvIV2+vcJgRItKNese5BRuifxCaLRiNtB6EcDiXLyq7U3rkm2cVOEpylkptaQm8klyRISp9HFYs7gOxzPYs6ITDMZzaDj8fF7dxpRxK3RiHs/Za8aSNRVVZ2eO1/8CasOT1iYUuDQFDKjEaSthESY7KSFMS7CwIlGtNPGSdwOQq8aSBx1d0r3Md3ckpb4/rjIjCDIagkJL/TQOsRHADCIMIgwyqFcgkl22qwSp4PQa4hiHJNfGhyjkJ74/rjIjCCA9JaQqJdSxdJ2+hnNIDtpoYdWAEcB8fLAyETaaYkGryvxsCe/NDtb0xLfHxeZEgSNTHkJ60oqBYTbeZb04mUlHubkl3Zna5rMWHEgqlr7LMOYLqN0EVOTbkZmcEpCS/NqLw7S2j9htburZ4GjdtGXm+C7aKApfWlKO6Lk2e65z6jqyZXHrUaQIcLKrE7bas9uNO+dsGz4YfkbTOlLU9qRFJkJH210SpnVhWzmpn2Z1SvorPnZq7sX7/sB/6F1s/q76epZwKruuXT1LIh1s3m70XwyhLW1pil9aUo7kqKqRiAi76n2d1X9r1o3EJFZwGKgGViqql90OOd84FpAgedUdU6t61qGEmZmtZ/VXtIrqSTKOdjQw/D8Dab0ZZztKNdgtzSPBhHGDe5I1BxVyzT0ruK/hwJ/BTxW/H0m8ARQVRCISDNwO3A20As8LSLLVPWFsnOOBT4FnKaqm0XkUL8PYQkvs/rq7sXscslLcFrtJTERl5PURvONHnoYlrPVlL6Mqx2VC6cJZRseJWmOqmoaUtV/UdV/obBSf4uqvldV3wu81eP1O4CXVHWNqg4A9wPnVJzzQeB2Vd1cvOdrvp7AAoSbWd1DK4MVtSPdVntJr+jCMlH4Ie7MYVNZ3tpBZ/siTu64nc72RYEmL1P6Mq521CrMl5Q5yquPYJqqls8ofwSO8/C5KcArZb/3Fo+VcxxwnIisEJGVRVPSMETkChFZJSKrtrHXY7Mbh/O5hRxDN10Pmlm9jrE8xWHsoKVmeYAkJuJylrTNZqBiGA/QFPlG8wunzaEvN8HI8glpIqy+9OunqjwfiOWdelkgJWFi9Bo19ISIPAJ8l4J2cAHwuIfPVZYkp/j5yjYcC7wTaAOeFJEZqvrGkA+p3gncCYXwUY/tbhjCzqwekpcwADPW/MrxS2FEYo7I0FElTsMuXNKSQZsGotr/4cRtazh9y+phpiu38xdOmxP5ftm1CvOVzokbT4JAVeeJyLuB/1U8dKeq/sDDR3uBI8p+bwP6HM5Zqap7gJdF5HcUBMPTXtpm2U8SmdVJJ+bM611GTodqiDnd23AboDQybn6q8/70pOMOaUn6tZwWTuUkZWL0k0fwP8AghbWX19i8p4FjReQoYAMFTaIyIuiHwPuBu0WklYKpaI2Pdlliwm03tCRXx0n7KCzJ4/auK+3epck+yTFTuXBKS9QQsC+88yYKkUIC3CYi16jqQ9U+p6qDIjIPeIRC+Ohdqvq8iFwHrFLVZcW//a2IvADsBa5R1dcDP5GloTAl6sSSHF7MLSVKWmuSYyaKhVO9SZWeSkyIyHPA2aWIHhE5BPipqp4YtOH1YEtMmEdSeyVX2nuhoF5b523j4DQG8jhHwvQVJ8ksjRk/34F6S0w0VYR1vo7NSk4tpf2Ns1CILmkfRTmNUKvGRJzGwLqRh3LKtt8NmaRK9neTxkwYhOHz8KoR3AScQCFqCOB9wK9V9RO+WhwSViMIXleocn9jKJSmforDQhMGSWkHSWI1k2BEITzdNIQHDzmdG4+6oM4Wm8eq7rmOq/I8cHLH7UOOuWkEnlb1qnoNhdDNE4ATKUQNJSIELPXVFXLb37id/oha2xg0eq2aIERVJ8rpXTQBp29ZXdd1a5FUza0wcnk8Rw2p6veB73u+siUy6qkr5La/sdvxILhFF2UZG73kn6jCOJN4F0nW3Aojl6dW0blfqupfi8g2KlJ2AFXVdBqWU049dYXc9jfeaSuS10XSkShpJKoJO4l34VeohWkSC8PnUfXbr6p/Xfz3oEAtTJCwavObSCsbi2ah4cdr4ba/cWlryygo1xCyqh0YkWGdMqKasJN4F0lX7K03JLWmj0BEmkQkWuNayNRjQ08D9dQVKq8jpMAOWkJ1FDcqtv6Qf6Iq9JbEu/BjpzfRn1TTHqCqeRF5TkSOVNX1cTSqXsKszW8i9dYVqra/sYmkJSzT1h/y966iDOOM+1340UJM9Cd5NQxPAp4XkW5gR+mgqhqp94ZVm99kkqgrFAZ+zURJb3xj8U6Qd5UV4elHqNUyiSWx8PEqCD4faStCph4busUsoiwQlhZNIy0kvUlR0ngVatW0h6QWPl6rj/5cRKYCx6rqT0VkNIXaQUZyPrewlEVDzENBa/OnhTQ6x72EmUalRltNI3zc3smkgc2s6p5rhW2RatpDV8+CRISp16JzHwSuACYCR1PYXOarwJmRtawOwq7Nbzol53hJ8JWc40DqnzmqyJJGX71Ggdu7kuKPFbb7cdMekvIfeK0XNBc4DdgKoKq/p7CPsbGcRheLOYPvcDyLOSP1E2I1qjnH005UkSUmOuySpt7MWKd3VUnS0TGmk9SOf159BG+q6oAUd34SkRaG7zRmSYgsO8ejiiyxCWBDCcNUVvmuSppAJY0sbGvhNwciLD+XV0HwcxH5NHCAiJwNXAn8t++7WSIhK85xt4iiKCJLbALYUMIylZW/q66eBVbY+sTPwidMP5dXQfBJ4DLgN8CHgIeBpb7uZImMRnSO10vWShHXSxSmsqRWt2nH68InTD+X16ihvIjcAzxFwST0O/VSv9oSC1l0jsdRuC4rMexhEIWpLKnVbVapFJRhCm+vUUP/SCFK6A8UzH5HiciHVPXHvu9oiYQ4EszSGKJq8UZUprIkVrdZxElQ5l3OrRTes/q7uWb9Q4wf3MFfwtudPuPVNPQlYKaqvgQgIkcD/wewgqBByHKIatSkweSRtKksCtNUGvrdK257LFRuyVkpvGf1d3Pty/eS071Vr+9VELxWEgJF1gCvuZ1sSS9uq/6k6zeltYJpmkweSZrKwjZNpanfveAmEIVCUT03YTevd1lNIQDeBcHzIvIw8AAFH8F5wNMi8h4AVf0vj9exGEy1VX+WQ1SjxJo8vBG2aSpr/e4mKDfmJtDZvsj1c141Kq+CYBTwR+Bvir//iUKW8bsoCAYrCDJAtVW/SSGqadIObOKaN8I2TWWt34MKSjcBUonXqKF/qfZ3EfmUqt7g5VpRkEYnpoltrrbqv5JrbIhqAOoxeWTJxu2FME1TWUsYDCool7TNDtVHUIvzgEQEQRqdmKa2udqq39QQVdP3Rw66ksuajTtuspgwGERQls4vRQ25IWGkA4jIs6p6Ut0X8sh0GaWLmArAfB5zmbw2sJgz4mqSL0xtc6WAgsKq/3IWJD7h12IqW2mnnwMYNG71HGRl75aV21fDJmzZT6NpVF54tnvuM6p6cuXxsDSCxJLL0ujENLXNpq76azGVrUP2YZ48sJnr1nwLMGP1HGQllzUbdxLYhEHvhCUInGpLxYJJTkyvmNzmNO581k7/PiFQogVNbYQIZM/GbRpWWxhKWILgwZCu45s01tlJY5vjxK8jfTSDjscnDWxOVYRROVm0cZtC2v0vTkIM6ou48lpi4jjgDuAwVZ0hIicAs1V1EYCqXu/7aUIijeaMNLY5LoI40nfSwhgHYbAztHVO/CSd6Ztl0pxj4CTErl3zbRDZFxkURLB5/aZ8HbgG+BqAqv5aRO4DjPBapdGckcY2x0GQDOYeWof4CMGsIR4AABuPSURBVAAGEXpojbStUWNt3NGQZv+LkxDLkR/mpfUr2LwKgtGq2l3amKaIsz5usdRBEEf6OsYCBV/BaAbZSQs9tO47XiKtZiJLuKTZ/+JHWPk516sg6C8WmlMAETkXDPBsWlJJKdTTadIO6khfx9hhE79JWOekOaTZ/+I1U7h0rle8CoK5wJ3An4vIBuBl4CLPd7E0HJUO33Yep4eZnM3jLOWKfQ7eMQxyCn8ECpN5XI70OLUDJ7vuojX3cOK2Ndx41AWR3tsynLT4X5wWD05CbICmIT4C8C/YfCWUicgYoElVt3n+UASUJ5RZzMMpMa2gTAovM41prBv2mR208COm7/t8nI70qAWBW3JYHlgw/WLjJiBL8lQuHqAwuS+cNgcYLsScjjmNK7eEMk+CQETGAx8AplGmRajqR30+XyhYQWA2bpnTAHtposkh/1CB73JcxC3zRtiCYVX33CE148uxmcIWJ6LKLHcTBG7js5KHKQiB3wDPlP3URERmicjvROQlEflklfPOFREVkWGNbFRW0Ml8HuNCXmQ+j7GCzqSb5Ilqjt31HOl4PO5Qzzj7tpqtNg2RKk7M6u+mq2cBq7rn0tWzgFn93Uk3KVPEHdnkuQy1ql7l9+Ii0gzcDpwN9FLYw2CZqr5Qcd5BwEcp7IlswdzCdF5wc/gCfJov8HWuYAw79x2LO9SzVt+G7T9Y0jabRWvucVx1pSFSpZK0J2Slgbgjm7xqBN8WkQ+KyCQRmVj68fC5DuAlVV2jqgPA/cA5DuctBP4D2O2xPZmnWjy96ZzPLeTYVXG0YA76LhfyQe5kHUegFHwDT3FYrBE/cfft8tYOHjzk9GF7zKYlUqWSaglZlnBY0jabXU0jhhyLcrx41QgGgJuAz7A/dUGh6N1zZwrwStnvvcAp5SeIyEnAEaraJSJXu11IRK4ArgBoTXHGqFdMLUznBafM6VLUUD+T+AnvZALnJabZ+OnbsLSDG4+6gOcOmu7JoWd6qGmaE7LSQtyRTV5n1KuAY1S13+f1nYrR7fMUikgTcCtwSa0LqeqdFEJYmS6jEqt2GhcmF6bzgnPm9MJE2lJJUn3rJVM4DWaXNCdkpQm/meX1LCC8moaehzKjrnd6gSPKfm8D+sp+PwiYATwhImuBU4Fl1mHsbF6xhenCweS+TYPZJW6zRRpI2nleWkBMHthME/sXEF7b4VUj2Av0iMjjwJulgx7CR58GjhWRo4ANwAXAnLLPb4H9XkIReQK4WlVXeWxXZrGF6aIjaN/GsRtaGswuaUnIigsTtLh6C+l5FQQ/LP74QlUHRWQe8AjQDNylqs+LyHXAKlU1Z5ljILYwXXSY2rdRml3C9D3Ygnj7iaOaaa13V+8Cwuvm9fd4uprzZx+mkIdQfuxzLue+M+h9LJa4iaJMRVR1cExYtWaVqLU4L++u3gVEVR+BiDxQ/Pc3IvLrip/nfDyLxWLxwPLWDhZOm0NfbgJ5CpmkC6fNqXuyToPvwQSC2PrdJtuwnOde3l29fptaGkFpmfMihf0ISgiFuH+LJXVUq34alLD8B1GFjqbB95A0QbWmqKuZenl39fptqgoCVS3F0x2jqkMqhYnIn3u6g8ViEJUb3VdWP02SKM03NuSzNkFt/VE7z72+u3r8NlUFgYh8GLgSmC4ivy7700HAikB3tFgSxG2j+3b6QxUEQfwHUTodTazBb1riXD1aU5TO8zjeXS3T0H3Aj4EbgPKCcdtUdVNorfDJy8xgPj+y4ZQW37htdO923AthmZqiNN+YFvJpovM6aa3JTTDG8e5qmYa2AFuA94d2x5BIUxE2izmEvdG9F1OTV+0g6onIpJBPEzeQT1JrqiUYo353XjOLjSQtRdiyTNpKZffQymBF5ZN6qp9WMzX5JemM3TizY010XkcVseWFpKO6Ul+9LQ1F2LJG+Q5iBQrriTRoaV43uvdKmKamJM03cZtqkjbDuJGU1pS0YEy9IEhLEbas4LwN5X5KWlrYgiDM7SvD3Ojer6mpVphpUhNR3KYaE53XSZK0YEy1IDClUFgUxL1vr1ecavlXEraWFtUmPZV9XF4q22uf99A6xEcA8W+0EwZBV6RBI39Mc14nTdKCMbWCoJUNxkyOYWPy7mReJvmwtbRqG8kE7Q+nPv4pF1KqnO61z+s1NUVRpiIIQVak9ZqTTHJeJ03SgjGVguAoVrOIM5JuRmREMfGFRbVtKCEaLS2KTXqcNZuhTmSvfR6mqSkpgqxITYz8STNJCsZUCoKsY/LuZOdzi4OPIA8IrfRFoqVFsZGM176Ms8+T1A6CrEiTdnBawsMKAgMxeXeyJPZJcBI+9WoetTSb8vMaBb8r0qQdnElgWjZ0WFhBYCBRTHxhEnct/yiEj7Nmo5Sbh5Ls8zg2wXFjU/8x9PWeyp6BgxiR28bktpVMbH1p2HlJOzjjxsRs6LCwgsBA0rA7WdxRTWELH6c+DhI1lDU29R/D+rUz0XwhsW3PwFjWr50JMEwYJO3gjJss+0RENX37wE+XUbqIqYnc29Swznrw+0xOuQQ5dnE5C1LfF2kgSu1gdc9F7BkY7vgekdvKjPZ7I7tvGljVPdexFEMeOLnj9ribE4hnu+c+o6rD9oRPdYmJuClNgAXbctO+EEPTyypUI8gzVYtqsqSbPQMH+TreSES9AU2SWEHggyxOgEGeyeSoJkt9jMht83W8kUi6FlSUWB+BD7I4AQZ5JpOjmhqBKB3Jk9tWDvERAEjTHia3rQztHmESZxRP6brXrH+I8YM7ANgtI6p9JDVYQeCDLE6AQZ7J9KgmS3BKDmEvUUNxUznpPzluBrNfXxl7FM+o/MC+2LIJe3dmInLIOot9kEUnadBnyqLTPAvU0g7SGgdfGboJBSetk227LzeBzvZFkbSjq2eBY+5ElPcMEzdnsdUIfJCGsM5aOE3gl7PA9zPFnUtgqZ80x8E7hW66OTijzGzOaja1FQQ+SfME6FbM7nIWsDjDtZsaiWplKtIcB+9noo0yiier2dQ2aqiByGLUk8U7aV7Nuk20+Yrfo47iyWrkkNUI6iRNtvIsRj1Z3KmMLkrzatatnMWyg0/l9C2rY/N5ZDWb2gqCOjB53wAnshj1ZPFOmmsDVZuAb0ygLWmf+CuxgqAOTN43wAkb9pldvGimM9b8iv/LwbTTzwEMpm41m8UJOCr8RodZQVAHYZpa4jAxZSHqyTIcP5ppaROdJHdDs0RLteiwZ10+YwVBHYRlaonTxJTmqKc0EafvKG2aqSVaqkWH3eDyGRs1VAfncws5dg05FsTUYqN5skXcxQltEIClnCDRYVYQ1MFpdHE5C2hlA5CnlQ2BsoztFzlbxC3Y3TRQGwTQmASpkmpNQ3UShqnFRvNki7gFe5AggCR3QLNES9XosDX3OH7GagQGEJaJyS8r6GQ+j3EhLzKfx1K9r4JJxL1CD0sztWSD5a0dLJw2h77cBPIU6iAtnDanatSQLTpnCHEnpmWxgJ4ppL1vrXZgJmEUDEys6JyIzAIWA83AUlX9YsXfrwIuBwaBPwGXquq6qNtlGnFG86ygk69yI/mK128jTcLBhulawqB84t/SMoYxg7vIFYtqhF0wMFKNQESagf8HnA30Ak8D71fVF8rOmQk8pao7ReTDwDtV9X3VrptFjSAunFarQ8nzHY6PtU0Wc7HaQTI4ld12wm/566Q0gg7gJVVdAyAi9wPnAPsEgao+Xnb+SuCiiNvU0DhFtJRjHdQWS/I45QI4UQoJrddsFLUgmAK8UvZ7L3BKlfMvA37s9AcRuQK4AqDVBjsFpnrkirKbA1hBpzVjeCBNBQeDYqOLCsS9oY/XirCv5iaEss9E1DOqOBxztEWJyEXAycDfOP1dVe8E7oSCaSisBjYabqGqBYTtTDS6cJ4TSUzIaSs4aAKb+o8xcgvMWiSxoY9bpdhyBqSZJW2zQ9lnIurw0V7giLLf24C+ypNE5CzgM8BsVX0z4jY1NE6hqpWkKas57izeEjYb3B+b+o9h/dqZ7BkYCwh7Bsayfu1MNvUfk3TTalJtoo0Kp30PKtnRNJLlrR2h7DMRtUbwNHCsiBwFbAAuAOaUnyAiJwFfA2ap6msRt6fhqYxoKShtwxW3tGQ1J1Vnp1GzwavtgFaNvt5T0fzQiU3zI+jrPdV4rSCJDX3Ky25PGtjsaFoZt3cnEM4+E5FqBKo6CMwDHgFeBB5Q1edF5DoRKRVBvwk4EHhQRHpEJDoxG5CsJV6dRheLOYPvcDytwxU0IByncRz9ltSEbMs6+GPPwEG+jptEkJINYbC8tYPO9kVsrHH/WrumzervpqtnAau653IC/IXTtSLPLFbVh1X1OFU9WlW/UDz2OVVdVvz/Wap6mKq2F3+M2iUjKdNDXESV1RxXvyU1ISeVDW4SV3cv3vdTixG5bb6Om0TS21PWun+1TOKSf2PywGaagBGQc7qHDb8p4uZwzHqJ36iSn+Lqt6Q227FJY/6Y3LaS9WtnDjEPSdMeJretTLBV3kh6e0ov93fbtMdrGKotMUH1kgD/yU04K07KlVydyS9+GFE4F/Iizv0WfsJaI4Rxpg0n/0Fao4bSzKruuUO+hScDq1SHuRysRkD11at7uKVkMlwwrLDIOCuq2s120sHE1pfsxB8zXsJQIaPVR/06Kas5HKuFW2YxXDCssEhrQ29s/PgPLNHhJQwVMqgRBFnRVlu9lj7zn9xMmsMsvRJWFE49NnRr6rFYwqHSv7AHBpzOy5yPYD6POU7qB7KJr/EOx894KRvsdt1WNrCYM4I8hpEk/ZxpL+FsqU2jlqkwAbeic5kzDbmtXLczwdVE5GVjj0YxdYTxnPXkD3yLz9iMXUsilMfbd/UsYFZ/dybu5YXMmYaqOXerhS7WcjimKVywHtNKvc9Zj7N5BZ1sxzl5JmsmuKyTNvNenPWEkqhdVIvMmYZW0Olqz2+EWvtJm1bqMS25fdbr5y1m4GcMmmIm6upZ4Bhd47fev2n3qqRhTEOn0cVIdjj+zW/oYhpLSyRdDK0eZ7P7OZo5E1yWSXoMBiHOekJJ1C6qReZMQyvoZNAhi7qFAd927jSWGU66GFo9+QNunz2QzTbaKEX4GYNBi9iFTRiF25xw2scgqnvVQ+Y0gge4ir0OgmAU231NCiauarxoKEkXQ6vH2ez22Q/whZqfNaUmlFctMo3apleSHoNBiKKeUGWdn5Iv4MlxMxKtXeRE5jQC96ih8aFcJymnpVcNJanaOyWCOJvLV/IH8gY5drGd8b5W9SbUhPL6jtKqbXol6BhMcje0KOoJue1jcPqW1SycNiey2kVBdlPLnCAIq7RBnCUSvOB1oosjuqmWCcZPyYfKSXE7E8mxiyu5xlebTRDcXt+RCUIrSkyNsKs1QboVbgtKNV9A2PcqETQiKXOCIKwVcdIr60r8THRR1t4JezUb1qRoguD2+o5MEFpR43UMVltUhOk/MGm7ySh9AUG3rcycj8BLclic1wkLU+yuYftOwpoUTUj48/qOTHmXSROnX8eU7Saj9gUEjUjKnEYA4a2ITapqmaSGUr5qc87PCL6aDWslb4I5wus7Mk3bTAo/2mC9/oOkt5uMax+DoFpIJgVBFklqonNKDnIi6Go2zEkxacHt9R2ZILRMIE4TWVIhm358AUGcvJUsaZs9xAQG3rQQKwhSRBITndOqrZJ6VrNZmxS9vqOkhZYJxOnXCTpBxkVYPoygWkjmSkxYwsV9pzEFNPUTtyU5wiqH4tVMFMaKOyriKjvhVmLCagQ+abTs1Sby5B0EQRN7+TZvTaBF2aTRxhXErw1GFbLplWqCKOmyE1YQ+CDriUBO5Gn2ddzin0YcVyXCMJGZUqaiGrVMP0mXnchc+GiUmFh2ohZeShlUO6eVPsfruh23+CeN48rij1rhq0mEmpZjNQIfpC0RyMtKs9Y5NtQxetI2rkwmyTIV1ahl+kki1LQcKwh8YEL2qh+8xGnXOidrUT1REtTOn7ZxZfGPF9NPGD6MoA5xKwh84LQ6BuV1DudCfksrfUZNkl5Wml7OyUKoY2VhO8B3Ybta1w9q57daV3SY4j9wCl/NA0+OmxHaPeoJQbU+Ah+Uyk4cyCYK4ZMAgtIMSGKlj93wUsqgEcodVJYy2M5EtjORMMsa1GPnN62ciSV8lrd2sOzgU8mXHWsCZr++MrT9iqv5IUp7JL8d3u70WSsIfHIaXYxiF26lFkxy8nmpv2NCjZ6oqZUUF8Y7q9fOfxpdLOYMvsPxLOYMX9Vbs7qvQdhc3b14308SnL5l9bAJN8x6R25+iElFzcDJNFXCmoYCUOvLbYqTz4t9v9o5WYltr2+bTG8kYedv5LDTNFGy20+KOFfAzQ+xl6ZhmkIlVhAEwO1LX/73WsQ1yXqx7zudE/ckE0Z/uF2j1vuC+idsNzt/O48zn8ciec9Z39cgC1Ta7Z0IK1fArYzGyBpCAKwgCISz07iAF7NKGlZycU4yYfRHtWtUe18QjinMSbNq53F+wXsje8827DQ4cYWZOtntywmSK+AWGeQWgjqvd1lVsxA0uCAIugqt/NIXyjA0e44aSsNKLs5JJoz+qHaNxZyx75yoooZguGY1n8cifc9umk7p+SzOTGUr7fQzmkF20kIPrZHdy83so8DGALkCtSKD3EJQa2klDSsIvsln+SlzKPnL/a7W6gmpTMNKzqvNOwyTThj9UesaSYTARv2ez+cW7uQGBskNOb6LA1lBpzGLCpOYylZO4Y+0FKP+xjDIKfyR27oXso6xQLjagZvdfmPAYnJBdiAr1xRwEUwNGTW0gs4hQqBEXBE/aQjZ9BJNFNYOU2H0h4l9GnWbChFs24cd30vOmMg1N5KKdmqnf58QKNGC0k5/JPcLu3RE0OJ0y1s76GxfxDPwjNPfG1IQFL4kzo8ex6o8DSGbXmLbw6qRE0Z/mNincbRpO+Mdj5ukXVYS5xaVlYxmsObx8jDTekNNl7d2sHDaHPpyE8hTKCu9cNqcwBnEbo7leh3OkZuGRGQWsBhoBpaq6hcr/j4S+BaFRIfXgfep6too21TtSxLHCjItZRtqmVPCMn2E0R8m9mkcbUpjeYokfWQ7aWGMgzDYGeFUGGb566g22IlUEIhIM3A7cDbQCzwtIstU9YWy0y4DNqvqMSJyAXAj8L4o2+UeTpiPbQWZhbINYU5CYfSHiX0adZvSWJ4iSR9ZD61DfAQAg0hVh7EpZSoguuJ0UWsEHcBLqroGQETuB84BygXBOcC1xf8/BCwREdEIt05zDifMcxb3GTeRmEwaJ6GsYaImVIsktZiSQ7gyaqh0PA1EscFOpFtVisi5wCxVvbz4+z8Dp6jqvLJzVhfP6S3+/ofiOf0V17oCuKL46wxgdX2ta50Ik6fAiBzsGYC+DdC/qb5rJkYrROTtqn1r0/oxwb4wEgP7o3UiHDkVpMxRp3lYvy6GsWNgf8TKVFU9pPJg1BqBU0GeSsnj5RxU9U7gTgARWeW072ajYvtjP7YvhmL7Yyi2P5yJOmqoFzii7Pc2GLa11b5zRKQFGAekdWVusVgsqSNqQfA0cKyIHCUiOeACoLLU3jLg4uL/zwUei9I/YLFYLJahRGoaUtVBEZkHPEIhfPQuVX1eRK4DVqnqMuAbwLdF5CUKmsAFHi59Z2SNTie2P/Zj+2Iotj+GYvvDgUidxRaLxWIxn4bMLLZYLBbLfqwgsFgslgbHaEEgIrNE5Hci8pKIfNLh7yNF5HvFvz8lItPib2U8eOiLq0TkBRH5tYj8TESmJtHOuKjVH2XnnSsiKiKZDhn00h8icn5xjDwvIvfF3ca48PBdOVJEHheRZ4vfl39Iop1GoapG/lBwLv8BmA7kgOeAt1SccyXw1eL/LwC+l3S7E+yLmcDo4v8/nNW+8NofxfMOAn4BrAROTrrdCY+PY4FngQnF3w9Nut0J9sWdwIeL/38LsDbpdif9Y7JGsK88haoOAKXyFOWcA9xT/P9DwJki4ryrfLqp2Req+riq7iz+upJCzkZW8TI2ABYC/wHsjrNxCeClPz4I3K6qmwFU9bWY2xgXXvpCYV9NiXEMz21qOEwWBFOAV8p+7y0eczxHVQeBLcDBsbQuXrz0RTmXAT+OtEXJUrM/ROQk4AhVNbfoTnh4GR/HAceJyAoRWVmsCpxFvPTFtcBFItILPAx8JJ6mmYvJO5SFVp4iA3h+ThG5CDgZ+JtIW5QsVftDRJqAW4FL4mpQwngZHy0UzEPvpKAtPikiM1Q1a/taeumL9wN3q+qXROQdFPKYZqhqPvrmmYnJGoEtT7EfL32BiJwFfAaYrapvxtS2JKjVHwdRKEz4hIisBU4FlmXYYez1u/IjVd2jqi8Dv6MgGLKGl764DHgAQFV/BYyCCDcuTgEmCwJbnmI/NfuiaAr5GgUhkFX7b4mq/aGqW1S1VVWnqeo0Cj6T2aq6KpnmRo6X78oPKQQUICKtFExFa2JtZTx46Yv1wJkAInI8BUHwp1hbaRjGCoKizb9UnuJF4AEtlqcQkdJ2PN8ADi6Wp7gKcA0jTDMe++Im4EDgQRHpEZHKwZ8ZPPZHw+CxPx4BXheRF4DHgWtU9fVkWhwdHvvi48AHReQ54LvAJRldQHrGlpiwWCyWBsdYjcBisVgs8WAFgcVisTQ4VhBYLBZLg2MFgcVisTQ4VhBYLBZLg2MFgcUSASIyXkSuLPt9sog8lGSbLBY3bPioxeIBEWlW1b0+zp8GdKnqjMgaZbGEhNUILA2PiEwTkd+KyD3F+vQPichoEVkrIp8TkV8C54nIB0XkaRF5TkS+LyKji58/TER+UDz+nIj8FfBF4Ohict9NxXusLp7fLCI3i8hvivf7SPH420Xk5yLyjIg8IiKTEusUS0NhctE5iyVO/gy4TFVXiMhdFPa6ANitqn8NICIHq+rXi/9fRKFmzW3AV4Cfq+q7RaSZQob3J4EZqtpePH9a2b2uAI4CTlLVQRGZKCIjitc6R1X/JCLvA74AXBrpU1ssWEFgsZR4RVVXFP9/L/DR4v+/V3bOjKIAGE9hsn+kePwM4AMARfPRFhGZUOVeZ1HYUGmw+JlNIjKDQqG8nxS31GgGNtb9VBaLB6wgsFgKVDrLSr/vKDt2N/BPqvqciFxCoaRzEMThfgI8r6rvCHhNiyUw1kdgsRQ4slibHgr16n/pcM5BwMaiGefCsuM/o7A9aMn+PxbYVjzfiUeB/10snY6ITKRQFvqQUhtEZISIvLXOZ7JYPGEFgcVS4EXgYhH5NTARuMPhnM8CTwE/AX5bdnw+MFNEfgM8A7y1WNlzhYisFpGbKq6zlEIp5F8XK2DOKW6reC5wY/FYD/BX4T2exeKODR+1NDw21NPS6FiNwGKxWBocqxFYLBZLg2M1AovFYmlwrCCwWCyWBscKAovFYmlwrCCwWCyWBscKAovFYmlw/j8rKzVKI2AA0gAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.svm import SVC\n",
    "\n",
    "clf_SVC2 = SVC(kernel = 'linear')      #kernel 调参\n",
    "clf_SVC2.fit(features_train,label_train)\n",
    "pred_SVC2 = clf_SVC2.predict(features_test)\n",
    "\n",
    "plot_pic(clf_SVC2, features_test, label_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.956"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.metrics import accuracy_score\n",
    "acc = accuracy_score(pred_SVC2, label_test)\n",
    "acc"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.svm import SVC\n",
    "\n",
    "clf_SVC2 = SVC(kernel = 'poly')      #kernel 调参\n",
    "clf_SVC2.fit(features_train,label_train)\n",
    "pred_SVC2 = clf_SVC2.predict(features_test)\n",
    "\n",
    "plot_pic(clf_SVC2, features_test, label_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.924"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.metrics import accuracy_score\n",
    "acc = accuracy_score(pred_SVC2, label_test)\n",
    "acc"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4. 决策树算法实现"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.tree import DecisionTreeClassifier\n",
    "\n",
    "clf_DT = DecisionTreeClassifier()\n",
    "clf_DT.fit(features_train,label_train)\n",
    "pred_DT = clf_DT.predict(features_test)\n",
    "\n",
    "plot_pic(clf_DT,features_test, label_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.948"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.metrics import accuracy_score\n",
    "acc = accuracy_score(pred_DT, label_test)\n",
    "acc"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 随机森林的算法实现"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.ensemble import RandomForestClassifier\n",
    "\n",
    "clf_RF = RandomForestClassifier()\n",
    "clf_RF.fit(features_train,label_train)\n",
    "pred_RF = clf_RF.predict(features_test)\n",
    "\n",
    "plot_pic(clf_RF,features_test, label_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.964"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.metrics import accuracy_score\n",
    "acc = accuracy_score(pred_RF, label_test)\n",
    "acc"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 5. KNN算法实现"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "\n",
    "clf_KNN = KNeighborsClassifier(n_neighbors= 7)\n",
    "clf_KNN.fit(features_train,label_train)\n",
    "pred_KNN = clf_KNN.predict(features_test)\n",
    "\n",
    "plot_pic(clf_KNN, features_test, label_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.948"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.metrics import accuracy_score\n",
    "acc = accuracy_score(pred_KNN, label_test)\n",
    "acc"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 6. 朴素贝叶斯算法实现"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.naive_bayes import GaussianNB\n",
    "\n",
    "clf_NB = GaussianNB()    # 初始化模型， 定义分类器\n",
    "clf_NB.fit(features_train,label_train)    # 使用训练集对模型进行训练\n",
    "pred_NB = clf_NB.predict(features_test)    # 使用测试集合对结果进行预测\n",
    "\n",
    "# 输出可视化图形\n",
    "plot_pic(clf_NB, features_test, label_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.956"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 模型评估\n",
    "from sklearn.metrics import accuracy_score\n",
    "acc = accuracy_score(pred_NB, label_test)\n",
    "acc"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
